package com.xo.common.enums;

import lombok.AllArgsConstructor;
import lombok.Getter;

/**
 * 分类级别枚举类
 * 对应数据库字段 category_level tinyint(1)
 */
@Getter
@AllArgsConstructor
public enum CategoryLevelEnum {

    /**
     * 一级分类
     */
    LEVEL_1(1, "一级分类"),

    /**
     * 二级分类
     */
    LEVEL_2(2, "二级分类"),

    /**
     * 三级分类
     */
    LEVEL_3(3, "三级分类");

    /**
     * 级别编码
     */
    private final Integer code;

    /**
     * 级别描述
     */
    private final String desc;



    /**
     * 根据编码获取枚举实例
     * @param code 级别编码
     * @return 对应的枚举实例
     * @throws IllegalArgumentException 当编码不存在时抛出异常
     */
    public static CategoryLevelEnum getByCode(Integer code) {
        for (CategoryLevelEnum levelEnum : values()) {
            if (levelEnum.code.equals(code)) {
                return levelEnum;
            }
        }
        throw new IllegalArgumentException("无效的分类级别编码: " + code);
    }


}
    